import pandas as pd
import matplotlib.pyplot as plt
from collections import Counter
from matplotlib import rcParams
# 设置英文和数字的字体为 Times New Roman
plt.rcParams['font.family'] = 'Times New Roman'
# 读取 Excel 文件
df = pd.read_excel('取样表_simple.xlsx', header=0)
# 统计每个类群的物种数量
class_counts = Counter(df['所属类群'])
# 准备数据
classes = list(class_counts.keys())
counts = list(class_counts.values())
# 绘制直方图
plt.figure(figsize=(12, 8))  # 设置图片大小
plt.bar(classes, counts, color='skyblue')  # 绘制直方图
plt.xlabel('taxonomic group', fontsize=14)  # 设置 X 轴标签
plt.ylabel('Number of species', fontsize=14)  # 设置 Y 轴标签
plt.title('Histogram of the number of species per taxon', fontsize=14)  # 设置图表标题
plt.xticks(rotation=90, fontsize=15)  # 旋转 X 轴标签，避免重叠
plt.tight_layout()  # 自动调整布局
plt.savefig('物种数量直方图.png', dpi=300, bbox_inches='tight')  # 保存图片
plt.show()  # 显示图表